<template>
  <div class="dashboard-container">
    <div class="dashboard-text">name: {{ name }}-helloworld</div>

    <!-- 组件使用时两种语法都可以 标准大驼峰/中划线 -->
    <!-- 组件的属性建议使用中划线 -->
    <!-- 图标测试 -->
    <!-- <SvgIcon /> -->
    <!-- <svg-icon icon-class="要用的图标名字" /> -->
    <svg-icon icon-class="dashboard" />
    <svg-icon icon-class="eye" />
    <svg-icon icon-class="eye-open" />

    <!-- 展示图表 -->
    <!-- 3.必须提前准备好一个有宽高的容器 -->
    <div ref="box" class="box" style="width: 500px; height: 500px; background-color: pink;">
      123
    </div>
  </div>
</template>

<script>
import { mapGetters } from 'vuex'
// 1.下载
// 2.全量导入    只引入需要的图表即可 =》 按需导入
// import * as echarts from 'echarts'

import * as echarts from 'echarts/core' // 全量导入核心包
import { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components' // 3个必要的组件
import { BarChart } from 'echarts/charts'
import { CanvasRenderer } from 'echarts/renderers'

echarts.use([GridComponent, BarChart, CanvasRenderer, TitleComponent, TooltipComponent]) // 注册组件

export default {
  name: 'Dashboard',
  computed: {
    ...mapGetters([
      'name'
    ])
  },
  created() {
    // 实例化echarts(需要用到的dom)
  },
  mounted() {
    // 4.实例化echarts(需要用到的dom)
    // echarts.init(document.querySelector('.box'))
    const myChart = echarts.init(this.$refs.box) // echarts实例
    // console.log(myChart)
    // 5.绘制图标 传入配置对象 描述图标的模样
    myChart.setOption({
      // 标题组件
      title: {
        text: '这是专门示例', // 主标题文本
        textStyle: {
          color: 'red', // 主标题文字的颜色。
          fontStyle: 'italic'
        },
        subtext: '嘿嘿'// 副标题文本
      },
      tooltip: {}, // 提示框组件
      xAxis: {
        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '运动鞋', '袜子']
      }, // 直角坐标系 grid 中的 x 轴
      yAxis: {}, // 直角坐标系 grid 中的 y 轴，
      series: [
        {
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 100, 20]
        }
      ] // 柱状图的高度
    })
  }
}
</script>

<style lang="scss" scoped>
.dashboard {
  &-container {
    margin: 30px;
  }
  &-text {
    font-size: 30px;
    line-height: 46px;
  }
}
</style>
